<template>
	<view>
		<button @tap="sendOrder">测试-支付1分</button>
	</view>
</template>

<script setup>
	import {createOrderAPI} from '@/services/order.js'
	import {ref} from 'vue';
	//发送订单，后端生成预订单
	const sendOrder = () => {
		handlePay()
	}
	//小程序调用支付
	const handlePay = () => {
		const params = {
			openId:uni.getStorageSync('openid'),
			productId:'pid0001',
			productName:'猪脚饭套餐',
			productPrice:'0.01',
			productNum:1
		}
		createOrderAPI(params).then(payRes => {
			console.log(payRes);
			if (payRes.data.code == 500) {
				uni.showToast({
					title: "后台预支付失败！",
					icon: "none"
				})
			} else if (payRes.data.code == 200) {
				//payRes这里主要有几个参数后面会调取uni的支付接口需要使用，下面会介绍每个数据
				//这个请求结束后就是前端最重要的步骤了，需要拉起支付密码框来完成支付
				// console.log(55555555,payRes)
				uni.requestPayment({
					"provider": "wxpay", //支付方式  
					"timeStamp": payRes.data.data.data.timeStamp, //时间戳
					"nonceStr": payRes.data.data.data.nonceStr, //随机字符串
					"package": payRes.data.data.data.package, //接口返回的prepay_id
					"signType": payRes.data.data.data.signType, //签名算法，需要与后台下单时一致
					"paySign": payRes.data.data.data.paySign, //签名
					success: function(resSuccess) {
						//触发该success时已经是输入密码支付成功后触发，可做一些页面跳转和成功提示  
						console.log('支付成功', res);
						uni.hideLoading();
						uni.showToast({
							title: "支付成功！",
							icon: "none"
						})
					},
					fail: function(err) {
						//支付失败时出发，比如取消支付、余额不足等
						console.error('支付失败', err);
						uni.hideLoading();
						uni.showToast({
							title: "支付失败！",
							icon: "none"
						})
					}
				});
			}
		})

		//  uni.requestPayment({
		//    // provider: 'wxpay',
		//    // timeStamp: '时间戳',
		//    // nonceStr: '随机字符串',
		//    // package: '统一下单接口返回的 prepay_id',
		//    // signType: 'MD5',
		//    // paySign: '签名',
		// timeStamp: "1724387420",
		// nonceStr: "1baefd50d11b4437a1dcd5a30ee53117",
		// package: "prepay_id=wx231230207917668d9eaeabd4aad69f0000",
		// signType: "MD5",
		// paySign: "7547546A0CC434AAE7B5A97A5CC8AF52",
		//    success: res => {
		//      console.log('支付成功', res);
		//      // 处理支付成功逻辑
		//    },
		//    fail: err => {
		//      console.error('支付失败', err);
		//      // 处理支付失败逻辑
		//    }
		//  });
	};
</script>